package com.example.erat.service;

import com.example.erat.dto.StatisticsDTO;

/**
 * 统计服务接口
 */
public interface StatisticsService {

    /**
     * 统计指定班级和课程的实验提交情况
     * 
     * @param classId 班级ID
     * @param courseId 课程ID
     * @param folderPath 实验文件夹路径
     * @return 统计结果
     */
    StatisticsDTO statisticsByClassAndCourse(Long classId, Long courseId, String folderPath);
    
    /**
     * 导出学生维度统计结果到Excel
     * 
     * @param classId 班级ID
     * @param courseId 课程ID
     * @param folderPath 实验文件夹路径
     * @return Excel文件字节数组
     */
    byte[] exportStudentStatistics(Long classId, Long courseId, String folderPath);
    
    /**
     * 导出实验维度统计结果到Excel
     * 
     * @param classId 班级ID
     * @param courseId 课程ID
     * @param folderPath 实验文件夹路径
     * @return Excel文件字节数组
     */
    byte[] exportExperimentStatistics(Long classId, Long courseId, String folderPath);
} 